package com.cskaoyan._11block._01introduction;

/**
 * @description:
 * @author: 景天
 * @date: 2023/2/6 16:23
 **/
/*
代码块的定义：
由若干条Java语句组成，并且用一对大括号{}括起来的结构，叫做代码块。

根据定义的位置不同,声明方式不同分类
    1.局部代码块
        语法:{}
        位置:局部位置
    2.构造代码块
        语法:{}
        位置:成员位置
        说明: 构造代码块内部定义的变量--->局部变量--->只在构造代码块内部生效
    3.静态代码块
        语法:static{}
        位置:成员位置
        说明:静态代码块内部定义的变量--->局部变量--->静态代码块内部生效
    4.同步代码块
        synchronized(){
            // 同步代码块
        }

 */
public class Demo {
    // 成员位置
    {
       // 构造代码块
    }
    // 成员位置
    static {
        // 静态代码块
    }
    public static void main(String[] args) {
        // 局部位置
        {
            // 局部代码块
            int a = 1;
            // 作用域: 该局部代码块内部生效
            System.out.println(a);
        }
        // Cannot resolve symbol 'a'
        // 出了局部代码块,失去作用域了
        //System.out.println(a);
    }

    // 成员位置
    {
        // 构造代码块
    }
}
